package com.xcf.service.business.finance;

import java.util.List;
import java.util.Map;

import com.xcf.util.PageData;

public interface BusinessAccountApplyService {
	/**
	 * 查找借款预付信息
	 * @return
	 * @throws Exception
	 */
	public List<Map> findBusinessAccountApply(PageData pd)throws Exception;
	/**
	 * 查找收入预付
	 * @return
	 * @throws Exception
	 */
	public List<Map> findIncomeInfo(PageData pd)throws Exception;
	/**
	 * 保存信息
	 * @param pd
	 * @throws Exception
	 */
	public void saveBusinessAccountApply(PageData pd)throws Exception;
	/**
	 * 查找台账变更申请信息
	 * @return
	 * @throws Exception
	 */
	public List<Map>findRecordInfo()throws Exception;
	/**
	 * 查找台账变更申请记录
	 * @param app_code
	 * @return
	 * @throws Exception
	 */
	public List<Map>findRecordDetail(PageData pd)throws Exception;
	/**
	 * 更新状态
	 * @param pd
	 * @throws Exception
	 */
	public void updateState(PageData pd)throws Exception;
	/**
	 * 查找台账变更申请记录数据
	 * @return
	 * @throws Exception
	 */
	public List<Map>findRecordData()throws Exception;
	/**
	 * 批量保存
	 * @param list
	 * @throws Exception
	 */
	public void saveCostLoanInfo(List<Map> list)throws Exception;
	/**
	 * 生成申请号
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public Object getAppCode(PageData pd)throws Exception;
	/**
	 * 删除借款明细
	 * @param pd
	 * @throws Exception
	 */
	public void deleteCostInfoLoan(String bill_code)throws Exception;
	/**
	 * 根据业务编号查找借款明细
	 * @param bill_code
	 * @return
	 * @throws Exception
	 */
	public PageData findCostInfoLoanByBillCode(String bill_code)throws Exception;
	/**
	 * 查找付款和收款信息
	 * @return
	 * @throws Exception
	 */
	public List<Map>findAppCodeInfo()throws Exception;
	/**
	 * 根据收（付）款单号查找信息
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<Map>findReceivablesCostInfo(PageData pd)throws Exception;
	
	/**
	 * 根据业务编号查找预收信息
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public PageData findReceivablesCostDetail(PageData pd)throws Exception;
	/**
	 * 保存到记录表
	 * @param pd
	 * @throws Exception
	 */
	public void saveReceivablesCostDetailRecord(PageData pd)throws Exception;
	/**
	 *  删除原预收表记录
	 * @param pd
	 * @throws Exception
	 */
	public void deleteReceivablesCostDetailRecord(PageData pd)throws Exception;
	/**
	 * 保存到公共信息表
	 * @param pd
	 * @throws Exception
	 */
	public void saveReceivablesCost(PageData pd)throws Exception;
	/**
	 * 保存拆分数据
	 * @param pd
	 * @throws Exception
	 */
//	public void saveReceivablesCostDetail(List<Map> list) throws Exception;
	/**
	 * 根据code查记录
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<Map>findRecordDetailByAppCode(PageData pd)throws Exception;
	
	public void saveReceivablesCostDetail(PageData pd) throws Exception;
}
